One use of sensor arrays is to isolate signal components that are traveling from, or propagating to, a particular direction. They find use in a number of different applications. For example, sonar systems make use of sensor arrays to process underwater acoustic signals to determine the location of a noise source; arrays are also used in radar systems to produce precisely shaped radar beams. Array processing techniques for isolating received signals are known as beamforming, and when the same or analogous principles are applied to focus the transmission of signals, the techniques are referred to as beamsteering.
Considering the process of beamforming in particular, it is typically necessary to use a fairly large number of signal processing components to form the desired directional beams. The signal from each sensor is typically divided into representative components by subjecting each signal to multiple phase shift, or time delay, operations which cancel the equivalent time delay associated with the respective relative position of the sensor in the array. To form the directional beam the time shifted signals from each sensor are then added together. The imparted time delays are chosen such that the signals arriving from a desired angular direction add coherently, whereas those signals arriving from other directions do not add coherently, and so they tend to cancel. To control the resulting beamwidth and sidelobe suppression, it is typical for each time delayed signal to be multiplied or "amplitude shaded" by a weighting factor which depends upon the relative position of the sensor in the array.
Beamforming in one dimension can thus be realized through a relatively straight-forward implementation using a linear array of sensors and a beamforming processor, or beamformer, that delays each sensor output by the appropriate amount, weights each sensor output by multiplying by the desired weighting factor, and then sums the outputs of the multiplying operation. One way to implement such a beamformer is to use a tapped delay line connected to each array element so that the desired delay for any direction can be easily obtained by selecting the proper output tap. The beam steering operation then simply consists of specifying the appropriate tap connections and weights to be applied.
However, a beamforming processor becomes much more complex when a two dimensional sensor array is used. Not only does the number of time delay operations increase as the square of the size of the array, but also the physical structures required to connect each sensor to its corresponding delay becomes complex. At the same time, each delay unit must be provided with multiple taps for the formation of multiple beams. The problem can become prohibitively complicated when the simultaneous formation of multiple beams is required.
As to implementation choices, beamforming technology was originally developed for detection of acoustic signals in sonar applications. The beamformers built for these early sonars used analog delay lines and analog signal processing components to implement the sum and delay elements. Networks of resistors were then used to weight and sum the appropriately delayed signals. However, the number of beams that can be implemented easily with such techniques is limited since each beam requires many discrete delay lines, or delay lines with many taps and many different weighting networks. As a result, it became common to share a delay line by using scanning switches to sequentially look in all directions. However, with this approach only one beam is available at a given time.
Recent advancements in integrated circuit electronics has provided the capability to implement practical digital beamforming systems. In these systems a signal from each sensor is first subjected to analog to digital conversion prior to beamforming. The beamformers are implemented using digital shift registers to implement the delay and digital multiplier components to implement the required weighting. The shift registers and multiplier components are typically controlled by command signals that are generated in general purpose computers using algorithms or equations that compute the values of the delays and phase weightings necessary to achieve the desired array beam position. Beam control thus requires fairly complex data processors and/or signal processors to compute and supply proper commands; this is especially the case if more than one beam is to be formed simultaneously.
For these reasons, few multi-dimensional multiple beam systems exist that can operate in real time with a minimum implementation complexity.